package com.ikingtech.platform.service.system.organization.exception;

import com.ikingtech.framework.sdk.context.exception.FrameworkExceptionInfo;
import lombok.RequiredArgsConstructor;

/**
 * 组织相关异常信息
 *
 * @author tie yan
 */

@RequiredArgsConstructor
public enum OrganizationExceptionInfo implements FrameworkExceptionInfo {

    /**
     * 组织不存在
     */
    ORG_NOT_FOUND("orgNotFound"),

    /**
     * 组织不存在
     */
    LABEL_NOT_FOUND("labelNotFound"),

    /**
     * 父组织不存在
     */
    PARENT_ORG_NOT_FOUND("parentOrgNotFound"),

    /**
     * 已存在相同名称的组织
     */
    DUPLICATE_ORG_NAME("duplicateOrgName"),

    /**
     * 已存在相同名称的组织
     */
    DUPLICATE_LABEL_NAME("duplicateLabelName"),

    /**
     * 默认组织不能删除
     */
    DEFAULT_ORG_NOT_DELETE("defaultOrgNotDelete");

    private final String message;

    @Override
    public String message() {
        return this.message;
    }

    @Override
    public String moduleName() {
        return "system-organization";
    }
}
